﻿using EMall.Application;
using EMall.Query;

namespace EMall.OrderService.Orders
{
    public interface IOrderAppService : IApplicationService
    {
        Task CreateAsync(CreateOrderDto input);
        Task UpdateAsync(UpdateOrderDto input);
        Task ShipAsync(ShipOrderDto input);
        Task ReceiveAsync(ReceiveOrderDto input);
        Task CancelAsync(CancelOrderDto input);
        Task RefundAsync(RefundOrderDto input);
        Task<OrderDto> GetAsync(int id);
        Task<IPagedList<OrderListDto>> GetPagedListAsync(GetOrderListPagingAndSortingQueryDto input);
    }
}